# -*- coding: utf-8 -*-
"""
Created on Wed Feb  7 18:53:13 2018
高阶函数

@author: Administrator
"""

t=abs(-10)
print(t)

# 变量可以指向函数
f=abs
print(f(-9))
f

'''
 函数名也是变量
# abs = 10
# 把abs指向10后，就无法通过abs(-10)调用该函数了！
# 因为abs这个变量已经不指向求绝对值函数而是指向一个整数10
# 注：由于abs函数实际上是定义在import builtins模块中的，
'''
f=10

'''
传入函数
既然变量可以指向函数，函数的参数能接收变量，
那么一个函数就可以接收另一个函数作为参数，这种函数就称之为高阶函数
'''
def add(x, y, f):
    return f(x)+f(y)


t=add(-4,6,abs)
print(t)